package com.ms.seguridad.support;

import java.io.Serializable;
import java.util.List;

/**
 * User: gmc
 * Date: 30/04/13
 */
public class Rol implements Serializable {
    private Long idRol;
    private String descripcionCorta;
    private List<ModuloInfo> moduloInfoList;
    private Integer orden;
    private ModuloInfo defaultModuloInfo;
//    RolMenuModel rolMenuModel;
    private String descripcion;


    public Rol() {
//        rolMenuModel = new RolMenuModel();
    }

    public Long getIdRol() {
        return idRol;
    }

    public void setIdRol(Long idRol) {
        this.idRol = idRol;
    }

    public String getDescripcionCorta() {
        return descripcionCorta;
    }

    public String getDescripcionCortaUp() {
        return descripcionCorta.toUpperCase();
    }

    public void setDescripcionCorta(String descripcionCorta) {
        this.descripcionCorta = descripcionCorta;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof Rol)) return false;

        Rol rol = (Rol) o;

        if (idRol != null ? !idRol.equals(rol.idRol) : rol.idRol != null) return false;

        return true;
    }

    @Override
    public int hashCode() {
        return idRol != null ? idRol.hashCode() : 0;
    }

    public List<ModuloInfo> getModuloInfoList() {
        return moduloInfoList;
    }

    public void setModuloInfoList(List<ModuloInfo> moduloInfoList) {
        this.moduloInfoList = moduloInfoList;
    }

    public String getDefaultPage() {
        ModuloInfo moduloInfo = moduloInfoList.get(0);
        return moduloInfo.getDefaultPage();
    }

    public void recreateMenuModel() {
//        rolMenuModel.setRol(this);
    }



    public ModuloInfo getDefaultModuloInfo() {
        if (defaultModuloInfo == null) {
            defaultModuloInfo = moduloInfoList.get(0);
        }
        return defaultModuloInfo;
    }

    public void setDefaultModuloInfo(ModuloInfo defaultModuloInfo) {
        this.defaultModuloInfo = defaultModuloInfo;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public String getDescripcion() {
        return descripcion;
    }
}
